package com.cykj.user.mapper;

import com.cykj.user.domain.SystemCtComplaint;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * @BelongsProject: Cykj-Order-System
 * @BelongsPackage: com.cykj.user.mapper
 * @Author: 阿强
 * @CreateTime: 2025-08-19 02:17
 * @Description: 用户申诉模块 Mapper，负责数据库层的增删改查操作
 * @Version: 1.0
 */
@Mapper
public interface SystemCtComplaintMapper {

    /**根据申诉 ID 查询单条用户申诉记录*/
    SystemCtComplaint selectSystemCtComplaintByComplaintId(Long complaintId);

    /**条件查询用户申诉列表，支持根据实体属性动态拼接查询条件*/
    List<SystemCtComplaint> selectSystemCtComplaintList(SystemCtComplaint systemCtComplaint);

    /**新增用户申诉记录，会将实体中非 null 字段插入数据库*/
    int insertSystemCtComplaint(SystemCtComplaint systemCtComplaint);

    /**修改用户申诉记录*/
    int updateSystemCtComplaint(SystemCtComplaint systemCtComplaint);

    /**根据申诉 ID 物理删除单条记录（实际业务中建议优先用逻辑删除，如需物理删除可保留）*/
    int deleteSystemCtComplaintByComplaintId(Long complaintId);

    /**根据申诉 ID 数组批量物理删除记录（建议结合业务考虑逻辑删除）*/
    int deleteSystemCtComplaintByComplaintIds(Long[] complaintIds);
}